import router from './router'
import store from '@/store'
// 跳转进度条
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
// 全局前置路由守卫
//  to:  要去哪个页面
//  from:从哪里来
//  next:它是一个函数。
//     如果直接放行 next()
//     如果要跳到其它页 next(其它页)

const whiteList = ['/login', '/404', '/abc']

// 1. 登陆用户不能再次回到login
// 2. 没有登陆就不能访问除login之外的其它页
router.beforeEach((to, from, next) => {
  NProgress.start() // 启动进度条
  console.log(to, from)
  // 取出token(vuex)
  const token = store.state.user.token
  if (token && to.path === '/login') {
    console.log('你已经登录了,就不能去login,转到主页')
    next('/')
    NProgress.done() // 进度条结束
  } else if (!token && whiteList.includes(to.path) === false) {
    console.log('你还没有登录了')
    next('/login')
    NProgress.done() // 进度条结束
  } else {
    next()
  }
})

router.afterEach((to, from) => {
  NProgress.done()
})

